Goto

Collaborating Authors

 error repair


Prutor

Communications of the ACM

Programming education in India faces an uphill task of educating two-plus million students who enroll in degree programs with coding as a core skill.10 Fulfilling this demand presents unique challenges due to inadequate infrastructure and the unavailability of technical content in regional languages6 with unfortunate outcomes: more than 90% of Indian graduates have coding skills inadequate for IT roles, and more than 37% struggle to write code that even compiles.13 Studies indicate a steep decline in coding skills between graduates from top-100 colleges and the rest.12 While concerning, since only a tiny minority of students enroll in top-tier colleges, this is not entirely surprising. A recent study indicates that even experienced instructors at non-top-tier colleges in India struggle to write code.10


MACER: A Modular Framework for Accelerated Compilation Error Repair

Chhatbar, Darshak, Ahmed, Umair Z., Kar, Purushottam

arXiv.org Machine Learning

Automated compilation error repair, the problem of suggesting fixes to buggy programs that fail to compile, has generated significant interest in recent years. Apart from being a tool of general convenience, automated code repair has significant pedagogical applications for novice programmers who find compiler error messages cryptic and unhelpful. Existing approaches largely solve this problem using a blackbox-application of a heavy-duty generative learning technique, such as sequence-to-sequence prediction (TRACER) or reinforcement learning (RLAssist). Although convenient, such black-box application of learning techniques makes existing approaches bulky in terms of training time, as well as inefficient at targeting specific error types. We present MACER, a novel technique for accelerated error repair based on a modular segregation of the repair process into repair identification and repair application. MACER uses powerful yet inexpensive discriminative learning techniques such as multi-label classifiers and rankers to first identify the type of repair required and then apply the suggested repair. Experiments indicate that the fine-grained approach adopted by MACER offers not only superior error correction, but also much faster training and prediction. On a benchmark dataset of 4K buggy programs collected from actual student submissions, MACER outperforms existing methods by 20% at suggesting fixes for popular errors that exactly match the fix desired by the student. MACER is also competitive or better than existing methods at all error types -- whether popular or rare. MACER offers a training time speedup of 2x over TRACER and 800x over RLAssist, and a test time speedup of 2-4x over both.